home *** CD-ROM | disk | FTP | other *** search
/ C++ für Kids / C++ for kids.iso / Buch / Monstr3a.cpp < prev    next >
C/C++ Source or Header  |  1999-01-29  |  3KB  |  95 lines

  1. //---------------------------------------------------------------------------
  2. #include <vcl\vcl.h>
  3. #pragma hdrstop
  4.  
  5. #include "Monstr3a.h"
  6. //---------------------------------------------------------------------------
  7. #pragma resource "*.dfm"
  8.  
  9. const String Pfad = "c:\\cpp\\buch\\";
  10. class TMonster
  11. {
  12. private:
  13.   String Name;
  14.   String Wesen;
  15.   String Bild;
  16. public:
  17.   // Probier aus, was passiert, wenn Du "int x" durch "void" ersetzt
  18.   void operator ++ (int x);
  19.   virtual String Typ (void) {return "Monster";};
  20.   TMonster (String N, String W, String Datei);
  21. };
  22.  
  23. class TGMonster : public TMonster
  24. {
  25. public:
  26.   virtual String Typ (void) {return "GeistesMonster";};
  27.   TGMonster (String N, String W, String Datei);
  28. };
  29.  
  30. class TSMonster : public TMonster
  31. {
  32. public:
  33.   virtual String Typ (void) {return "SeelenMonster";};
  34.   TSMonster (String N, String W, String Datei);
  35. };
  36.  
  37. //---------------------------------------------------------------------------
  38.  
  39. TMonster  *Frank;
  40. TGMonster *Albert;
  41. TSMonster *Sigmund;
  42. TForm1 *Form1;
  43.  
  44. //---------------------------------------------------------------------------
  45. __fastcall TForm1::TForm1(TComponent* Owner)
  46.     : TForm(Owner)
  47. {
  48. }
  49. //---------------------------------------------------------------------------
  50. TMonster::TMonster (String N, String W, String Datei)
  51. {
  52.   Name = N; Wesen = W; Bild = Datei;
  53. }
  54. //---------------------------------------------------------------------------
  55. TGMonster::TGMonster (String N, String W, String Datei)
  56.   : TMonster (N, W, Datei)
  57. {
  58. }
  59. //---------------------------------------------------------------------------
  60. TSMonster::TSMonster (String N, String W, String Datei)
  61.  : TMonster (N, W, Datei)
  62. {
  63. }
  64. //---------------------------------------------------------------------------
  65. void TMonster::operator ++ (int x) // "Dummy-Parameter"
  66. {
  67.   Form1->Label1->Caption = "Name:    " + Name;
  68.   Form1->Label2->Caption = "Wesen:    " + Wesen;
  69.   Form1->Label3->Caption = "Typ:    " + Typ();
  70.   Form1->Image1->Picture->LoadFromFile (Pfad+Bild);
  71. }
  72. //---------------------------------------------------------------------------
  73. void __fastcall TForm1::FormCreate(TObject *Sender)
  74. {
  75.   Frank   = new TMonster  ("Frankie", "ungew÷hnlich", "Frank.bmp");
  76.   Albert  = new TGMonster ("Berti", "nachdenklich", "Albert.bmp");
  77.   Sigmund = new TSMonster ("Sigi", "mitfⁿhlend", "Sigmund.bmp");
  78. }
  79. //---------------------------------------------------------------------------
  80. void __fastcall TForm1::Button1Click(TObject *Sender)
  81. {
  82.   (*Frank)++;
  83. }
  84. //---------------------------------------------------------------------------
  85. void __fastcall TForm1::Button2Click(TObject *Sender)
  86. {
  87.   (*Albert)++;
  88. }
  89. //---------------------------------------------------------------------------
  90. void __fastcall TForm1::Button3Click(TObject *Sender)
  91. {
  92.   (*Sigmund)++;
  93. }
  94. //---------------------------------------------------------------------------
  95.